package co.edu.usbcali.sam.presentation.businessDelegate;

import java.util.List;

import co.edu.usbcali.sam.modelo.Asignaturas;
import co.edu.usbcali.sam.modelo.Aula;
import co.edu.usbcali.sam.modelo.AulaAsig;
import co.edu.usbcali.sam.modelo.Calificaciones;
import co.edu.usbcali.sam.modelo.Departamentos;
import co.edu.usbcali.sam.modelo.Estudiantes;
import co.edu.usbcali.sam.modelo.MatriculaAcademica;
import co.edu.usbcali.sam.modelo.MatriculaAsignatura;
import co.edu.usbcali.sam.modelo.Persona;
import co.edu.usbcali.sam.modelo.ProfesorAsignatura;
import co.edu.usbcali.sam.modelo.Profesores;
import co.edu.usbcali.sam.modelo.Rol;
import co.edu.usbcali.sam.modelo.TipoIdentificacion;
import co.edu.usbcali.sam.modelo.Usuario;
import co.edu.usbcali.sam.modelo.dto.AsignaturasDTO;
import co.edu.usbcali.sam.modelo.dto.AulaAsigDTO;
import co.edu.usbcali.sam.modelo.dto.AulaDTO;
import co.edu.usbcali.sam.modelo.dto.CalificacionesDTO;
import co.edu.usbcali.sam.modelo.dto.DepartamentosDTO;
import co.edu.usbcali.sam.modelo.dto.EstudiantesDTO;
import co.edu.usbcali.sam.modelo.dto.MatriculaAcademicaDTO;
import co.edu.usbcali.sam.modelo.dto.MatriculaAsignaturaDTO;
import co.edu.usbcali.sam.modelo.dto.PersonaDTO;
import co.edu.usbcali.sam.modelo.dto.ProfesorAsignaturaDTO;
import co.edu.usbcali.sam.modelo.dto.ProfesoresDTO;
import co.edu.usbcali.sam.modelo.dto.RolDTO;
import co.edu.usbcali.sam.modelo.dto.TipoIdentificacionDTO;
import co.edu.usbcali.sam.modelo.dto.UsuarioDTO;


/**
* @author Zathura Code Generator http://code.google.com/p/zathura
* www.zathuracode.org
*
*/
public interface IBusinessDelegatorView {
    public List<Asignaturas> getAsignaturas() throws Exception;

    public void saveAsignaturas(Asignaturas entity) throws Exception;

    public void deleteAsignaturas(Asignaturas entity) throws Exception;

    public void updateAsignaturas(Asignaturas entity) throws Exception;

    public Asignaturas getAsignaturas(Long idAsignatura)
        throws Exception;

    public List<Asignaturas> findByCriteriaInAsignaturas(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Asignaturas> findPageAsignaturas(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberAsignaturas() throws Exception;

    public List<AsignaturasDTO> getDataAsignaturas() throws Exception;
    
    public List<AsignaturasDTO> getDataAsignaturasByProfesor(Long idProfesor) throws Exception;

    public List<Aula> getAula() throws Exception;

    public void saveAula(Aula entity) throws Exception;

    public void deleteAula(Aula entity) throws Exception;

    public void updateAula(Aula entity) throws Exception;

    public Aula getAula(Long idAula) throws Exception;

    public List<Aula> findByCriteriaInAula(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Aula> findPageAula(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberAula() throws Exception;

    public List<AulaDTO> getDataAula() throws Exception;

    public List<AulaAsig> getAulaAsig() throws Exception;

    public void saveAulaAsig(AulaAsig entity) throws Exception;

    public void deleteAulaAsig(AulaAsig entity) throws Exception;

    public void updateAulaAsig(AulaAsig entity) throws Exception;

    public AulaAsig getAulaAsig(Long idAulaAsig) throws Exception;

    public List<AulaAsig> findByCriteriaInAulaAsig(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<AulaAsig> findPageAulaAsig(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberAulaAsig() throws Exception;

    public List<AulaAsigDTO> getDataAulaAsig() throws Exception;

    public List<Calificaciones> getCalificaciones() throws Exception;

    public void saveCalificaciones(Calificaciones entity)
        throws Exception;

    public void deleteCalificaciones(Calificaciones entity)
        throws Exception;

    public void updateCalificaciones(Calificaciones entity)
        throws Exception;

    public Calificaciones getCalificaciones(Long idCali)
        throws Exception;

    public List<Calificaciones> findByCriteriaInCalificaciones(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception;

    public List<Calificaciones> findPageCalificaciones(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberCalificaciones() throws Exception;

    public List<CalificacionesDTO> getDataCalificaciones()
        throws Exception;

    public List<Departamentos> getDepartamentos() throws Exception;

    public void saveDepartamentos(Departamentos entity)
        throws Exception;

    public void deleteDepartamentos(Departamentos entity)
        throws Exception;

    public void updateDepartamentos(Departamentos entity)
        throws Exception;

    public Departamentos getDepartamentos(Long idDepartamento)
        throws Exception;

    public List<Departamentos> findByCriteriaInDepartamentos(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception;

    public List<Departamentos> findPageDepartamentos(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberDepartamentos() throws Exception;

    public List<DepartamentosDTO> getDataDepartamentos()
        throws Exception;

    public List<Estudiantes> getEstudiantes() throws Exception;

    public void saveEstudiantes(Estudiantes entity) throws Exception;

    public void deleteEstudiantes(Estudiantes entity) throws Exception;

    public void updateEstudiantes(Estudiantes entity) throws Exception;

    public Estudiantes getEstudiantes(Long idEstudiante)
        throws Exception;

    public List<Estudiantes> findByCriteriaInEstudiantes(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Estudiantes> findPageEstudiantes(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberEstudiantes() throws Exception;

    public List<EstudiantesDTO> getDataEstudiantes() throws Exception;

    public List<MatriculaAcademica> getMatriculaAcademica()
        throws Exception;

    public void saveMatriculaAcademica(MatriculaAcademica entity)
        throws Exception;

    public void deleteMatriculaAcademica(MatriculaAcademica entity)
        throws Exception;

    public void updateMatriculaAcademica(MatriculaAcademica entity)
        throws Exception;

    public MatriculaAcademica getMatriculaAcademica(Long idMatAca)
        throws Exception;

    public List<MatriculaAcademica> findByCriteriaInMatriculaAcademica(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception;

    public List<MatriculaAcademica> findPageMatriculaAcademica(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception;

    public Long findTotalNumberMatriculaAcademica() throws Exception;

    public List<MatriculaAcademicaDTO> getDataMatriculaAcademica()
        throws Exception;

    public List<MatriculaAsignatura> getMatriculaAsignatura()
        throws Exception;

    public void saveMatriculaAsignatura(MatriculaAsignatura entity)
        throws Exception;

    public void deleteMatriculaAsignatura(MatriculaAsignatura entity)
        throws Exception;

    public void updateMatriculaAsignatura(MatriculaAsignatura entity)
        throws Exception;

    public MatriculaAsignatura getMatriculaAsignatura(Long idMatAsig)
        throws Exception;

    public List<MatriculaAsignatura> findByCriteriaInMatriculaAsignatura(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception;

    public List<MatriculaAsignatura> findPageMatriculaAsignatura(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception;

    public Long findTotalNumberMatriculaAsignatura() throws Exception;

    public List<MatriculaAsignaturaDTO> getDataMatriculaAsignatura()
        throws Exception;

    public List<Persona> getPersona() throws Exception;

    public void savePersona(Persona entity) throws Exception;

    public void deletePersona(Persona entity) throws Exception;

    public void updatePersona(Persona entity) throws Exception;

    public Persona getPersona(Long idPersona) throws Exception;

    public List<Persona> findByCriteriaInPersona(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Persona> findPagePersona(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberPersona() throws Exception;

    public List<PersonaDTO> getDataPersona() throws Exception;

    public List<ProfesorAsignatura> getProfesorAsignatura()
        throws Exception;

    public void saveProfesorAsignatura(ProfesorAsignatura entity)
        throws Exception;

    public void deleteProfesorAsignatura(ProfesorAsignatura entity)
        throws Exception;

    public void updateProfesorAsignatura(ProfesorAsignatura entity)
        throws Exception;

    public ProfesorAsignatura getProfesorAsignatura(Long idProfeAsig)
        throws Exception;

    public List<ProfesorAsignatura> findByCriteriaInProfesorAsignatura(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception;

    public List<ProfesorAsignatura> findPageProfesorAsignatura(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception;

    public Long findTotalNumberProfesorAsignatura() throws Exception;

    public List<ProfesorAsignaturaDTO> getDataProfesorAsignatura()
        throws Exception;

    public List<Profesores> getProfesores() throws Exception;

    public void saveProfesores(Profesores entity) throws Exception;

    public void deleteProfesores(Profesores entity) throws Exception;

    public void updateProfesores(Profesores entity) throws Exception;

    public Profesores getProfesores(Long idProfesor) throws Exception;

    public List<Profesores> findByCriteriaInProfesores(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Profesores> findPageProfesores(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberProfesores() throws Exception;

    public List<ProfesoresDTO> getDataProfesores() throws Exception;

    public List<Rol> getRol() throws Exception;

    public void saveRol(Rol entity) throws Exception;

    public void deleteRol(Rol entity) throws Exception;

    public void updateRol(Rol entity) throws Exception;

    public Rol getRol(Long idRol) throws Exception;

    public List<Rol> findByCriteriaInRol(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Rol> findPageRol(String sortColumnName, boolean sortAscending,
        int startRow, int maxResults) throws Exception;

    public Long findTotalNumberRol() throws Exception;

    public List<RolDTO> getDataRol() throws Exception;

    public List<TipoIdentificacion> getTipoIdentificacion()
        throws Exception;

    public void saveTipoIdentificacion(TipoIdentificacion entity)
        throws Exception;

    public void deleteTipoIdentificacion(TipoIdentificacion entity)
        throws Exception;

    public void updateTipoIdentificacion(TipoIdentificacion entity)
        throws Exception;

    public TipoIdentificacion getTipoIdentificacion(Long idIdentificacion)
        throws Exception;

    public List<TipoIdentificacion> findByCriteriaInTipoIdentificacion(
        Object[] variables, Object[] variablesBetween,
        Object[] variablesBetweenDates) throws Exception;

    public List<TipoIdentificacion> findPageTipoIdentificacion(
        String sortColumnName, boolean sortAscending, int startRow,
        int maxResults) throws Exception;

    public Long findTotalNumberTipoIdentificacion() throws Exception;

    public List<TipoIdentificacionDTO> getDataTipoIdentificacion()
        throws Exception;

    public List<Usuario> getUsuario() throws Exception;

    public void saveUsuario(Usuario entity) throws Exception;

    public void deleteUsuario(Usuario entity) throws Exception;

    public void updateUsuario(Usuario entity) throws Exception;

    public Usuario getUsuario(Long idUsuario) throws Exception;

    public List<Usuario> findByCriteriaInUsuario(Object[] variables,
        Object[] variablesBetween, Object[] variablesBetweenDates)
        throws Exception;

    public List<Usuario> findPageUsuario(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults)
        throws Exception;

    public Long findTotalNumberUsuario() throws Exception;

    public List<UsuarioDTO> getDataUsuario() throws Exception;
    
    public List<UsuarioDTO> consultarUsuariosNombreRol() throws Exception;
    
    public Long consultarIdEstudiantexLogin(String login) throws Exception;
    
    public List<ProfesoresDTO> consultarProfesores() throws Exception;
}
